What are closures in Scala and how to use them